package com.xvyy.tingshu.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * ClassName: Cacheable
 * Package: com.xvyy.tingshu.annotation
 *
 * @Description: 自定义注解，用于标记可以被缓存的方法
 * @Author: xvyy
 * @Create: 2025/2/9 - 13:57
 * @Version: v1.0
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Cacheable {

    String cacheKey() default "";//缓存的key
    String distributedLockKey() default "";// 分布式锁的key
    String distributedBloomKey() default  "";// 分布式布隆过滤器的key
    boolean distributedLockSwitch() default  true;// 分布式锁开关 默认开启
    boolean distributedBloomSwitch() default  true;// 分布式布隆过滤器开关 默认开启
}
